
Сообщение от
id0
А как сделать первый слот зарезервированным для автосейва, чтобы игрок не мог в него сохраняться? Ну чтоб он был серенький такой - пубум. Но загружаться мог?
Что-то вроде такого попробуй. Если будут ошибки и прочее конфликтов с другими плагинами - пиши
Код:
/*:
* @plugindesc ProtectedSaveSlot
* @author F15H
*
* @help save this code as `js/plugins/ProtectedSaveSlot.js' for current plugin work || Для корректной работы плагина сохрани в код как `js/plugins/ProtectedSaveSlot.js`
* @param disabledSaveSlotDisplayName
* @desc The name for the file that will be displayed for disabled save slot || Отображамое имя для слота, в который запрежено сохранение
* @type Text
* @min 0
* @default Autosave
*
* @param disabledSaveSlotIndex
* @desc Slot number where saving is prohibited || Номер слота, в котором запрещено сохранение
* @type Number
* @min 0
* @default 0
*/
(function (){
function toNumber(str, def) {
return isNaN(str) ? def : +(str || def);
}
var PARAMS = PluginManager.parameters('ProtectedSaveSlot');
var disabledSaveSlotIndex = toNumber(PARAMS['disabledSaveSlotIndex'], 0);
var disabledSaveSlotDisplayName = PARAMS['disabledSaveSlotDisplayName'] || "autosave";
Window_SavefileList.prototype.drawItem = function(index) {
var id = index + 1;
var enabled = true;
var valid = DataManager.isThisGameFile(id);
var info = DataManager.loadSavefileInfo(id);
var rect = this.itemRectForText(index);
this.resetTextColor();
if (this._mode === 'load') {
this.changePaintOpacity(valid);
}
var drawTextFunction = this.drawFileId;
if (index === disabledSaveSlotIndex) {
drawTextFunction = this.drawAutosaveFile;
enabled = false;
}
this.changePaintOpacity(enabled && valid);
drawTextFunction.call(this, id, rect.x, rect.y);
if (info) {
this.drawContents(info, rect, valid);
this.changePaintOpacity(true);
}
};
Window_SavefileList.prototype.drawAutosaveFile = function(id, x, y) {
this.drawText(disabledSaveSlotDisplayName, x, y, 180);
};
var Alias_Scene_Save_prototype_onSavefileOk = Scene_Save.prototype.onSavefileOk;
Scene_Save.prototype.onSavefileOk = function() {
var savefileId = this.savefileId();
if (savefileId === (disabledSaveSlotIndex + 1)) {
return this.onSaveFailure();
}
Alias_Scene_Save_prototype_onSavefileOk.call(this);
};
})();
Чтобы нормально подтянулись параметры плагина, назвать файл с кодом `ProtectedSaveSlot.js`
UPD: Были баги - поправил
Социальные закладки